GtkListBox: Add style classes for lists and rows
authorAlexander Larsson <alexl@redhat.com>
Wed, 12 Jun 2013 10:00:11 +0000 (12:00 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 13 Jun 2013 10:17:07 +0000 (12:17 +0200)
gtk/gtklistbox.c
gtk/gtkstylecontext.h

index 0c8574fc86db8d6ddc6d2cf522e43db8f8cf703b..1ec189102c5cd1bf54b4cf48e1c837f09e19ed43 100644 (file)
@@ -221,6 +221,7 @@ static void
 gtk_list_box_init (GtkListBox *list_box)
 {
   GtkListBoxPrivate *priv;
+  GtkStyleContext *context;
 
   list_box->priv = priv =
     G_TYPE_INSTANCE_GET_PRIVATE (list_box, GTK_TYPE_LIST_BOX, GtkListBoxPrivate);
@@ -232,6 +233,9 @@ gtk_list_box_init (GtkListBox *list_box)
 
   priv->children = g_sequence_new (NULL);
   priv->header_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, NULL);
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (list_box));
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_LIST);
 }
 
 static void
@@ -2208,12 +2212,16 @@ static void
 gtk_list_box_row_init (GtkListBoxRow *row)
 {
   GtkListBoxRowPrivate *priv;
+  GtkStyleContext *context;
 
   row->priv = priv =
     G_TYPE_INSTANCE_GET_PRIVATE (row, GTK_TYPE_LIST_BOX_ROW, GtkListBoxRowPrivate);
 
   gtk_widget_set_can_focus (GTK_WIDGET (row), TRUE);
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (row), TRUE);
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (row));
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_LIST_ROW);
 }
 
 static void
index 26709a13fcc666f42f3aaec798ceb7f222da36c6..85ebf20ae90e4a1a630203e627a1d8bf1545fa24 100644 (file)
@@ -196,6 +196,24 @@ struct _GtkStyleContextClass
  */
 #define GTK_STYLE_CLASS_BUTTON "button"
 
+/**
+ * GTK_STYLE_CLASS_LIST:
+ *
+ * A CSS class to match lists.
+ *
+ * This is used by #GtkListBox.
+ */
+#define GTK_STYLE_CLASS_LIST "list"
+
+/**
+ * GTK_STYLE_CLASS_LIST_ROW:
+ *
+ * A CSS class to match list rowss.
+ *
+ * This is used by #GtkListBoxRow.
+ */
+#define GTK_STYLE_CLASS_LIST_ROW "list-row"
+
 /**
  * GTK_STYLE_CLASS_CALENDAR:
  *